home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / dockob / hayaku.kob < prev    next >
Text File  |  1996-02-15  |  3KB  |  205 lines

  1.  
  2. /***************************************
  3. /* 何してるんだ早く押せ   by v914AKSTN *
  4. /***************************************
  5.  
  6. int c=0
  7. dim int tx(3),tb(3)
  8. dim char cc(3)
  9. int flag=0
  10. int sc,level,lsc
  11. int j
  12. str dir
  13.  
  14. dim str ped_list( 2 ) = {
  15.     "hito2.inc",
  16.     "teki3.inc",
  17.     "teki4.inc"
  18. }
  19. dim str zmd_list(7)[15]={
  20.     "AD_SE000.ZMD",        /*  0 (INIT)
  21.     "AD_SE001.ZMD",        /*  1 (SE)
  22.     "AD_SE002.ZMD",
  23.     "AD_SE003.ZMD",
  24.     "AD_SE004.ZMD",
  25.     "AD_SE005.ZMD",
  26.     "AD_SE006.ZMD",
  27.     "G.ZMD"            /*  7 (BGM)
  28.     }
  29.  
  30. dir = left$( b_argv(0), strrchr( b_argv(0), '\' )+1 )    /* 起動ディレクトリ
  31. for j=0 to 2
  32.     ped_list(j)=dir+ped_list(j)
  33. next
  34. for j=0 to 7
  35.     zmd_list(j)=dir+zmd_list(j)
  36. next
  37.  
  38. toroku_ped( ped_list )
  39. toroku_zmd( zmd_list )
  40. play_zmd( 0 )
  41.  
  42. WindowTitleOpen( 0, WINX, WINY, 500, 320+24, 0, "- NANISHITERUNDAHAYAKUOSE -", 3 )
  43. ITIME=-1
  44.  
  45. end        /* 初期化処理終わり
  46.  
  47.  
  48.  
  49.  
  50.  
  51. /* リドロウ
  52. func Eredraw( wno )
  53.     int i
  54.  
  55.     DrawClear( wno, 0 )    /* 黒
  56.     for i=0 to 3
  57.         draw_ped( wno, 0, 40, i*80 )    /* イヤ~ン達
  58.     next
  59.  
  60.     DrawSymbol( wno, 22, 324, " 【 何 し て る ん だ 早 く 押 せ 】 SCORE : "+itoa( sc )+" ", &b1101 )
  61.  
  62.     if flag=0 then {
  63.         DrawSymbol( wno, 170, 140, "PLEASE HIT RETURN KEY!", &b1101, 24 )
  64.     } else {
  65.         for i=0 to 3
  66.             print_letter( i )
  67.         next
  68.     }
  69. endfunc
  70.  
  71.  
  72.  
  73. /* キー入力
  74. func Ekey( wno )
  75.     int c,i
  76.  
  77.     switch flag
  78.     case 0:        /* タイトル
  79.         if info_KeyCode=13 then game_init()
  80.         break
  81.  
  82.     case 1:        /* ゲーム中
  83.         if info_KeyCode=27 then {
  84.             flag=2            /* PAUSE
  85.             break
  86.         }
  87.         c=info_KeyCode or &h20        /* 小文字化
  88.         for i=0 to 3
  89.             if cc(i)=c then break
  90.         next
  91.         if i<4 then {            /* 当たり!
  92.             play_se( 1 )
  93.             DrawFill( wno, tx(i), i*80, tx(i)+63, i*80+79, 0 )
  94.             score_add( (tx(i)+25)/50 )
  95.             teki_init( i )
  96.             print_letter( i )
  97.         } else {            /* おてつき
  98.             play_se( 6 )
  99.             ITIME=ITIME-1
  100.             if ITIME<1 then ITIME=1
  101.         }
  102.         break
  103.  
  104.     case 2:        /* ポーズ中
  105.         if info_KeyCode=27 then flag=1    /* PAUSE 解除
  106.         break
  107.     endswitch
  108. endfunc
  109.  
  110.  
  111.  
  112. /* インターバル(ナンダコレ移動)
  113. func Einterval( wno )
  114.     int i
  115.  
  116.     if flag=2 then return(1)    /* ポーズ中
  117.  
  118.     for i=0 to 3
  119.         if (rand() mod level)=0 or tb(i) then {
  120.             tx(i)=tx(i)-9
  121.             tb(i)=1-tb(i)
  122.             draw_ped( 0, tb(i)+1, tx(i), i*80 )
  123.             if tx(i)<110 then {
  124.                 play_se( 4 )
  125.                 DrawSymbol( wno, 190, 140, " * * GAME OVER * * ", &b1101, 24 )
  126.                 ITIME=-1
  127.                 flag=0
  128.                 m_fadeout( 32 )
  129.                 break
  130.             }
  131.         }
  132.     next
  133. endfunc
  134.  
  135.  
  136.  
  137. /* 早く押す文字
  138. func print_letter( i )
  139.     str ss="A"
  140.     ss[1]=ss[1]+cc(i)-'a'
  141.     DrawSymbol( 0, 8, i*80+30, ss, &h1101, 24 )
  142. endfunc
  143.  
  144.  
  145.  
  146. /* ゲーム初期化
  147. func game_init()
  148.     int i
  149.  
  150.     for i=0 to 3
  151.         teki_init( i )
  152.     next
  153.     sc=0
  154.     flag=1
  155.     level=7
  156.     lsc=50
  157.     ITIME=16
  158.     Eredraw( 0 )
  159.  
  160.     play_zmd( 7 )
  161. endfunc
  162.  
  163.  
  164.  
  165. /* 各敵の初期化
  166. func teki_init( i )
  167.     int c,j
  168.  
  169.     tx(i)=490
  170.     tb(i)=0
  171.     repeat
  172.         c='a'+(rand() mod 26)
  173.         for j=0 to 3
  174.             if cc(j)=c then break
  175.         next
  176.     until j=4
  177.     cc(i)=c
  178. endfunc
  179.  
  180.  
  181.  
  182. /* スコア加算&表示
  183. func score_add( a )
  184.     sc=sc+a
  185.     DrawSymbol( 0, 416+30, 324, itoa( sc )+" ", &b1101 )
  186.     if sc>lsc then {
  187.         if (lsc mod 100) = 0 then {
  188.             level=level-1
  189.             if level<1 then level=1
  190.             if lsc=700 then {
  191.                 level=6
  192.                 ITIME=9
  193.             }
  194.         }
  195.         ITIME=ITIME-1
  196.         if ITIME<1 then ITIME=1
  197.         lsc=lsc+50
  198.     }
  199. endfunc
  200.  
  201.  
  202.  
  203. /* 終わり
  204.  
  205.